#include "game_engine.h"

GameEngine::GameEngine()
{
}

smart_ptr<GameEngine::GameState> GameEngine::changeState(smart_ptr<GameEngine::GameState> newState)
{
	smart_ptr<GameState> temp = cur_;
	cur_ = newState;
	return temp;
}

void GameEngine::update(const int msPassed)
{
	cur_->update(msPassed);
}

void GameEngine::draw()
{
	cur_->draw();
}

GameEngine::GameState::~GameState()
{
}

GameEngine::GameState::GameState(GameEngine &owner)
	:owner_(owner)
{
}